<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="../_template.xhtml">
	<ui:define name="conteudo">
		<h:form id="form">

			<p:growl id="growl" sticky="true" showDetail="true" />
			<p:messages autoUpdate="true" />

			<p:commandButton value="Cancelar Reserva"
				actionListener="#{estadiaBean.cancelarCheckinUser}" ajax="false" />

			<p:wizard id="wiz" flowListener="#{estadiaBean.onFlowProcess}" widgetVar="wiz">

				<p:tab id="cadastro" title="Usuario">
					<p:commandButton value="Novo Usuario"
						rendered="#{!estadiaBean.cadastroPesquisaUsuario}"
						action="#{estadiaBean.prepararCadastroUsuario}" ajax="false" />

					<p:commandButton value="Cancelar Cadastro"
						rendered="#{estadiaBean.cadastroPesquisaUsuario}"
						actionListener="#{estadiaBean.cancelarCheckinUser}"
						update=":form:wiz" />
					<br />
					<p:dataTable value="#{estadiaBean.usuarios}" var="usuario"
						paginator="true" rows="4"
						rendered="#{!estadiaBean.cadastroPesquisaUsuario}">
						<p:column>
							<f:facet name="header">Id</f:facet>
							<h:outputText value="#{usuario.id}" />
						</p:column>
						<p:column>
							<f:facet name="header">Nome</f:facet>
							<h:outputText value="#{usuario.nome}" />
						</p:column>
						<p:column>
							<f:facet name="header">Email</f:facet>
							<h:outputText value="#{usuario.email}" />
						</p:column>
						<p:column>
							<f:facet name="header">Telefone</f:facet>
							<h:outputText value="#{usuario.telefone}" />
						</p:column>

						<p:column>
							<f:facet name="header">Selecionar</f:facet>
							<p:commandButton value="escolher" update=":form:wiz"
								action="#{estadiaBean.escolherUsuario}">
								<f:setPropertyActionListener target="#{estadiaBean.usuario}"
									value="#{usuario}" />
							</p:commandButton>
						</p:column>

					</p:dataTable>

					<p:panel header="Cadastro de usuário"
						rendered="#{estadiaBean.cadastroPesquisaUsuario}">
						<h:panelGrid columns="2" columnClasses="label, value">
							<h:outputLabel value="Nome:" for="nome" />
							<p:inputText id="nome" value="#{estadiaBean.usuario.nome}">
							</p:inputText>


							<h:outputLabel value="Telefone: " for="fone" />
							<p:inputText id="fone" value="#{estadiaBean.usuario.telefone}">
							</p:inputText>

							<h:outputLabel value="Email: " for="mail" />
							<p:inputText id="mail" value="#{estadiaBean.usuario.email}">
							</p:inputText>

							<h:outputLabel value="Login: " for="login" />
							<p:inputText id="login" value="#{estadiaBean.usuario.login}">
							</p:inputText>

							<h:outputLabel value="Senha: " for="senha" />
							<p:password id="senha" value="#{estadiaBean.usuario.senha}">
							</p:password>

							<p:commandButton value="Gravar" actionListener="#{estadiaBean.gravarUsuario}" update="form"/>

						</h:panelGrid>
					</p:panel>
				</p:tab>

				<p:tab id="reserva" title="Reserva de Quarto">

					<p:panel header="Pesquisa de Quartos">
						<h:panelGrid columns="2" columnClasses="label, value">
							<h:outputLabel value="Data Inicial: " for="dataInicio" />
							<p:calendar id="dataInicio"
								value="#{estadiaBean.estadia.dataInicio.time}" required="true"
								requiredMessage="Data inicial Obrigatória" pattern="dd/MM/yyyy"
								timeZone="America/Sao_Paulo"
								validator="#{estadiaBean.validaDataInicio}" />

							<h:outputLabel value="Numero de noites: " />
							<p:selectOneMenu name="selecaoNoites" id="totalDias"
								value="#{estadiaBean.numeroDias}">
								<f:selectItem itemValue="1" itemLabel="1" />
								<f:selectItem itemValue="2" itemLabel="2" />
								<f:selectItem itemValue="3" itemLabel="3" />
								<f:selectItem itemValue="4" itemLabel="4" />
								<f:selectItem itemValue="5" itemLabel="5" />
								<f:selectItem itemValue="6" itemLabel="6" />
								<f:selectItem itemValue="7" itemLabel="7" />
							</p:selectOneMenu>

							<h:outputLabel value="Categoria: " for="categoria" />
							<p:selectOneMenu name="select" id="categoria"
								value="#{estadiaBean.categoriaId}">
								<f:selectItem itemLabel="Selecione..." itemValue="0" />
								<f:selectItems value="#{estadiaBean.listaCategorias}"
									var="categoria" itemLabel="#{categoria.categoria}"
									itemValue="#{categoria.id}" />
							</p:selectOneMenu>

							<h:outputLabel value="Cama Extra: " for="camaExtra" />
							<p:selectOneMenu id="camaExtra"
								value="#{estadiaBean.estadia.camaExtra}">
								<f:selectItem itemValue="false" itemLabel="Nao" />
								<f:selectItem itemValue="true" itemLabel="Sim" />
							</p:selectOneMenu>

							<p:commandButton value="Pesquisar" update=":form"
								actionListener="#{estadiaBean.pesquisarReserva}" />
						</h:panelGrid>
					</p:panel>
					<p:dataTable value="#{estadiaBean.quartos}" var="quarto"
						rendered="#{estadiaBean.renderizarQuartosDisponiveis}"
						paginator="true" rows="10">
						<p:column>
							<f:facet name="header">Numero do quarto</f:facet>
							<h:outputText value="#{quarto.numero}" />
						</p:column>
						<p:column>
							<f:facet name="header">Categoria</f:facet>
							<h:outputText value="#{quarto.categoria.categoria}" />
						</p:column>
						<p:column>
							<f:facet name="header">Hospedes</f:facet>
							<h:outputText value="#{quarto.categoria.capacidade}" />
						</p:column>
						<p:column>
							<f:facet name="header">Valor</f:facet>
							<h:outputText value="#{quarto.categoria.valor}" />
						</p:column>
						<p:column>
							<f:facet name="header">Ação</f:facet>
							<p:commandButton value="Escolher" ajax="false"
								action="#{estadiaBean.escolherQuarto}">
								<f:setPropertyActionListener
									target="#{estadiaBean.selectQuarto}" value="#{quarto}" />
							</p:commandButton>
						</p:column>
					</p:dataTable>
				</p:tab>


				<p:tab id="confirm" title="Confirmação">
					<p:panel header="">
						<h:panelGrid columns="2">
							<h:outputLabel value="Nome:" for="nome" />
							<h:outputText value="#{estadiaBean.usuario.nome}" />

							<h:outputLabel value="Quarto:" for="quarto" />
							<h:outputText value="#{estadiaBean.selectQuarto.numero}" />

							<h:outputLabel value="Valor:" for="valor" />
							<h:outputText value="R$ #{estadiaBean.selectQuarto.categoria.valor}" />
						</h:panelGrid>


						<p:commandButton value="Confirmar" ajax="false"
						oncomplete="wiz.loadStep(wiz.cfg.steps[0], true);"
							action="#{estadiaBean.gravarCheckin}">
						</p:commandButton>
					</p:panel>
				</p:tab>

			</p:wizard>

		</h:form>

	</ui:define>

</ui:composition>


</html>